The present invention relates to the field of automated manufacturing systems and methods of controlling the same. Automated manufacturing systems are capable of manufacturing parts with complicated geometry from a variety of materials. Automated manufacturing systems include subtractive manufacturing systems, which create parts by removing material, such as computer-numerical control (CNC) mills, and additive manufacturing systems, which create parts by depositing material, such as 3D printing and automated composite layup systems like filament winding, automated fiber placement, and automated tape laying systems.
Most automated manufacturing systems include a toolhead, which subtracts, cuts, or adds material in the work area, mounted to a motion gantry that moves the toolhead relative to the work area. The motion gantry may move the toolhead itself and/or a work table or part relative to the toolhead. The motion gantry may include linear, rotary, or other motion axes, and many automated manufacturing systems are capable of moving toolheads relative to the work area in at least three linear dimensions to position the toolhead anywhere in three-dimensional space inside the work area. Additional motion axes may be included to change the angle of the toolhead relative to the part, either by rotating the toolhead or the part. Motion gantries may include any number of linear and/or rotary actuators connected in series or parallel to the toolhead, bed platform or other part fixturing device, and/or the part itself.
However, there is an unmet need for efficient and robust automated manufacturing systems capable of operating two or more toolheads simultaneously and independently over the same work area. Operating multiple toolheads simultaneously allows for faster and versatile manufacturing. For example, two simultaneous toolheads can add or subtract material on different portions of the same part, performing different operations (e.g. milling and drilling) or similar operations (e.g. both toolheads milling).
Crashing is one problem in automated manufacturing systems. A crash occurs when the system moves in such a way that is harmful to the system, toolhead or tools, or parts being manufactured. A crash can occur when the toolhead or part collides unexpectedly with the part being manufactured or with another part of the machine. Software simulations and sensors, such as limit switches or closed-loop control systems, have greatly reduced the occurrence of crashes in automated manufacturing systems with a single toolhead.
Unfortunately, it is still very difficult to prevent crashing in automated manufacturing systems with two or more toolheads simultaneously and independently operating over the same work area. Not only does the system need to ensure that each toolhead is not trying to access the same position or nearby positions at the same time, but the system much ensure that each toolhead's associated motion gantry does not interfere with the other toolhead or its motion gantry. For this reason, most automated manufacturing systems with multiple simultaneously operating toolheads limit each toolhead to a fixed portion of the work area or attach multiple toolheads to the same motion gantry at a fixed offset. The former solution is inflexible and is only useful when the part size and manufacturing time is equally distributed over the partitioning of the work area, otherwise one or more of the toolheads will be idle for a long period of time. The latter solution cannot move toolheads independently of each other; this is only useful for creating multiple copies of the same part simultaneously, but provides no benefit when making a single part.